package com.lihepeng.leecode.array2;

import org.junit.Test;

import java.util.Arrays;

/**
 * 给你一个按 非递减顺序 排序的整数数组 nums，返回 每个数字的平方 组成的新数组，要求也按 非递减顺序 排序。
 */
public class Solution977 {
    // 双指针方法
    public int[] sortedSquares(int[] nums) {
        int [] result = new int [nums.length];
        int left =0;
        int right = nums.length-1;
        int n = nums.length-1;
        while(left <=right){
            if ((nums[left]*nums[left]) < (nums[right]*nums[right])){
                result[n--]=nums[right] * nums[right];
                right--;
            }else {
                result[n--]=nums[left] * nums[left];
                left++;
            }
        }
        return result;
    }
    @Test
    public void runTest(){
        int []nums = {-4,-1,0,3,10};
        int[] ints = sortedSquares(nums);
        System.out.println(Arrays.toString(ints));
    }
}
